The Third generation partnership project (3GPP) has initiated a long term evolution (LTE) program to bring new technology, new network architecture and configuration, and new applications and services to the wireless cellular network in order to provide improved spectral efficiency, reduced latency, faster user experiences and richer applications and services at lower cost.
The LTE architecture protocol comprises multiple layers. FIG. 1 is an illustration of the LTE architecture's user plane protocol stack. Layer 1 refers to physical layer (PHY). PHY offers information transfer services to the higher layers by means of transportation channels, such as downlink (DL) and uplink (UL) transportation channels. Layer 2 is divided into three sublayers, Medium Access Control (MAC), Radio Link Control (RLC) and Packet Data Convergence Protocol (PDCP). Above the PDCP sublayer, in layer 3 is the Radio Resource Control (RRC) Layer within the control plane, and is the network layer (e.g. Internet Protocol (IP)) within the user plane.
The RLC sublayer supports three types of data transmission modes, Acknowledge Mode (AM), Unacknowledged Mode (UM) and Transparent Mode (TM). RLC sublayer also supports segmentation of SDUs (Service Data Unit) and PDUs (Packet Data Unit). An RLC entity may segment an RLC SDU into one or multiple RLC PDU(s) corresponding to the RLC SDU. The terminology SDU and PDU is used interchangeably depending upon the layer view. A SDU is a packet that is interchanged, that is, received from an upper layer in the transmitting device, or passed to an upper layer in the receiving device. A PDU is a packet generated by a layer and passed on to a lower layer in the transmitting device, or received from a lower layer in the receiving device. Therefore, a PDCP PDU is an RLC SDU. Similarly, a RLC PDU is a MAC SDU, etc. Hence the terminology, of whether a packet is termed a “PDU” or an “SDU” depends upon the point of view of the layer being considered. Typically, each layer adds information, in the form of a header, to SDU data to generate a PDU. The main services and functions provided by the RLC sublayer are:                1. Transfer of upper layer PDUs supporting AM, UM and TM.        2. In sequence delivery of upper layer PDUs except at handover in the uplink.        3. Duplicate detection.        4. Segmentation of dynamic PDU size, no need for padding.        5. Re-segmentation of PDUs that need to be retransmitted        6. Error correction        7. Protocol error detection and recovery        8. Reset        9. SDU discard.        
The PDCP sublayer provides PDCP Service data Unit (SDU) services through the service access point (SAP) for user-plane (U-plane) packet data and for control-plane (C-plane) RRC messages. The PDCP is responsible for the following PDCP functions or procedures:                1. Header compression and decompression having robust header compression ROHC) only;        2. Transfer of user data—transmission of user data means that PDCP receives PDCP service data units (SDUs) from the upper layers (e.g. the network or IP layer) and forwards it to the RLC layer, and vice versa;        3. Reordering of the downlink RLC SDUs at least during inter-evolved Node-B (eNB) mobility;        4. In-sequence delivery of upper layer packet data units (PDUs) at handover (HO) in the uplink;        5. Duplicate detection of lower layer SDUs; and        6. Ciphering of user plane data and control plane data (NAS Signaling).The transmitting PDCP entity performs the following PDCP procedures or functions:        
1. Assigns sequence numbers (SN) to upper layer PDUs, (i.e., PDCP SDU), on a per-radio bearer (RB) basis: Packets that are internally generated within the PDCP sublayer such as ROHC feedback packets will not be assigned a SN; and SNs will be continued during handover, (i.e., SNs are transferred between eNBs (if configured)).
2. Performs ROHC header compression: For user-plane traffic only; and ROHC-TCP and ROHC-real time protocol (RTP)/user datagram protocol (UDP)/Internet protocol (IP) will be supported.
3. Performs integrity protection: For control-plane traffic only; Utilizes the SDU SN assigned by the PDCP sublayer; Integrity protection may be performed before or after ciphering; Packets that are internally generated within the PDCP sublayer such as ROHC feedback packets will not be integrity-protected.
4. Performs ciphering: Utilizing the SDU SN assigned by the PDCP sublayer; Packets that are internally generated within the PDCP sublayer such as ROHC feedback packets will not be ciphered.
5. Attaches the PDCP header and sends the PDCP PDU to the RLC entity below.
When a PDCP PDU is received, the receiving PDCP entity performs the following PDCP procedures or functions:                1. Checks whether the PDU is control or data, and forwards it to the proper function. For example, ROHC feedback packets will be sent to the ROHC function.        2. Performs deciphering: Utilizes the SDU SN assigned by the PDCP sublayer together with the hyper frame number (HFN) which is calculated using an “HFN delivery function” that can handle out-of-order reception.        3. Checks for integrity: For control-plane traffic only; and Integrity checking may be performed before or after deciphering.        4. Performs ROHC header decompression: For user-plane traffic only.        5. Performs duplicate detection by utilizing the SDU SN assigned by the PDCP sublayer.        6. Performs reordering: Utilizes the SDU SN assigned by the PDCP sublayer.        7. Delivers the PDCP SDUs in-sequence to upper layers.        
The PDCP sublayer transfers data between the RLC sublayer and the eNB. During inter-eNB handover, the source eNB forwards all downlink PDCP SDUs with their SN that have not been acknowledged by the wireless transmit/receive unit (WTRU) to the target eNB. The target eNB re-transmits and prioritizes all downlink PDCP SDUs forwarded by the source eNB.
During inter-eNB handover, the source eNB also forwards uplink PDCP SDUs successfully received in-sequence to the system architecture evolution (SAE) Serving Gateway, and forwards uplink PDCP SDUs received out-of-sequence to the target eNB with their SN. The WTRU re-transmits the uplink PDCP SDUs that have not been successfully received by the source eNB.
The PDCP sublayer buffers the PDCP SDUs in order to be able to (re)transmit any un-received SDUs, (e.g., during handover situations). In the uplink, the transmitting PDCP entity in the WTRU will retransmit the SDUs that were not acknowledged by the PDCP Status Report received from the Target eNB for example. In the downlink, the transmitting PDCP entity in the Source eNB forwards the SDUs that were not acknowledged to the Target eNB, and the Target eNB (re)transmits the SDUs that were not acknowledged by the PDCP Status Report received from the WTRU for example.
PDCP Status Reports: A PDCP status report is used to convey the information on missing or acknowledged PDCP SDUs (or PDUs) at handover. Status reports are sent from the receiving PDCP entity to the transmitting PDCP entity. The purpose of PDCP Status Report is to identify which PDCP SDUs (or PDUs) need to be re-transmitted at events such as handover.
Primitives are signals or indications exchanged between layers within the device. Primitives between PDCP and upper layers: In universal mobile telecommunication system (UMTS) releases (up to Release 6), the PDCP-DATA primitive only allowed for two primitives, which are PCDP-DATA-Req and PDCP-DATA-Ind. The functions of the two primitives are:
PDCP-DATA-Req is used by upper user-plane protocol layers to request a transmission of upper layer PDU.
PDCP-DATA-Ind is used to deliver PDCP SDU that has been received to upper user plane protocol layers.
The RLC sublayer will also have its own transmit buffer, (i.e., in the RLC transmitting entity). This means that there are at least two transmit buffers in Layer 2, one at the PDCP sublayer and the other at the RLC sublayer. RLC SDU discard is one of the functions specified in the standards which specify that the triggers to initiate SDU discard include SDU discard timer expiration.
Since the PDCP sublayer buffers the PDCP SDUs in order to be able to retransmit them, (e.g., during handover scenarios), this necessitates the need for a buffer at the transmitting PDCP entity. This buffer may be used to store un-processed PDCP SDUs, or it may store partially processed PDCP SDUs, (for example, after applying one or more of the following processes/functions: sequence numbering, header compression, ciphering, integrity protection).
Buffering PDCP SDUs at the transmitting PDCP entity introduces new challenges such as determining the triggers/events that will lead to discarding a PDCP SDU from the transmitting PDCP buffer, (i.e., emptying the SDU from the PDCP buffer). There is also a need to avoid PDCP transmit buffer overflow. Furthermore, in some cases, such as when there is a long delay in scheduling the data, some PDCP SDUs can become stale or useless for transmission as their latency already exceeds the maximum allowed by their Quality of Service (QoS) profile.
Furthermore, since the transmitting RLC entity will have its own buffer and will implement timer-based SDU discard, the overall transmitting layer 2 entity can be optimized by optimizing/coordinating the discard operations between the PDCP and RLC, and by enhancing the RLC reset or re-establishment procedures. Therefore, an improved data discard procedure, applicable to the advanced high-speed wireless communications device and that is directed to both PDCP and RLC sublayers, is highly desirable.